import request from '@/utils/request'

/**
 * 获取员工列表
 * @param {*} page 页码
 * @param {*} size 每页条数
 */
export const reqGetUserList = (page = 1, size = 5) => {
  return request({
    method: 'get',
    url: '/sys/user',
    params: {
      page,
      size
    }
  })
}

/**
 * 删除员工 (直接 C)
 */
export function reqDelEmployee(id) {
  return request({
    method: 'delete',
    url: `/sys/user/${id}`
  })
}

/**
 * 新增员工
 * @param {*} form { 7个字段 }
 */
export const reqAddEmployee = (form) => request({
  method: 'post',
  url: '/sys/user',
  data: form
})

/**
 * 批量新增员工
 * @param {*} arr [ { 7个字段 }, { 7个字段 },{ 7个字段 }.... ]
 */
export const reqAddEmployeeBatch = (arr) => {
  return request({
    method: 'post',
    url: '/sys/user/batch',
    data: arr
  })
}

/**
 * 保存员工的基本信息
 */
export function reqSaveUserDetailById(data) {
  return request({
    method: 'put',
    url: `/sys/user/${data.id}`,
    data
  })
}

/** *
 *  读取用户详情的基础信息 (个人详情-下面的接口)
 * **/
export function reqGetPersonalDetail(id) {
  return request({
    method: 'get',
    url: `/employees/${id}/personalInfo`
  })
}

/** *
 *  更新用户详情的基础信息 (个人详情-下面的接口)
 * **/
export function reqUpdatePersonal(data) {
  return request({
    method: 'put',
    url: `/employees/${data.userId}/personalInfo`,
    data
  })
}

/** **
 * 获取用户的岗位信息  (岗位信息)
 * ****/
export function reqGetJobDetail(id) {
  return request({
    method: 'get',
    url: `/employees/${id}/jobs`
  })
}

/**
 * 保存岗位信息  (岗位信息)
 * ****/
export function reqUpdateJob(data) {
  return request({
    method: 'put',
    url: `/employees/${data.userId}/jobs`,
    data
  })
}

/**
 * 分配角色
 * @param {*} id 用户id
 * @param {*} roleIds 这个用户的角色id组成的数组
 */
export const reqAssignRoles = (id, roleIds) => {
  return request({
    method: 'put',
    url: '/sys/user/assignRoles',
    data: {
      id,
      roleIds
    }
  })
}
